package cn.com.surker.workcon.service;

import cn.com.surker.control.entity.ControlInvoice;
import cn.com.surker.production.entity.ProductionIndentDispatch;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 工控机的生产数据(发货单数据) Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2024-09-26
 */
public interface ProductService extends GKTranService {

	/**
	 * 根据erp的派单信息,查询派车数据
	 *
	 * @param dispatchId erp的派单id
	 * @return 返回生产方量, 生产时间, 对应的工控机数据id, 配合比编号recipe;其他参数视工控情况
	 */
	ProductionIndentDispatch queryByDispatchId(Long lineId, Long dispatchId);

	/**
	 * 查询是否正在生产
	 *
	 * @param lineId     生产线
	 * @param dispatchId 派单id
	 * @return
	 */
	Boolean inProing(Long lineId, Long dispatchId);

	/**
	 * 查询比该生产时间大的发货单数据
	 *
	 * @param minDate            工控机的最小生产时间
	 * @param minProdId            工控机的最小发货单号
	 * @return
	 */
	List<ControlInvoice> findFullByMin(Long lineId, String lineName, Date minDate, Long minProdId);

	/**
	 * 查询工控机的发货单
	 *
	 * @param lineId
	 * @param lineName
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	List<ControlInvoice> findByTime(Long lineId, String lineName, String startTime, String endTime);

}
